package com.summer.dao.user;

import com.summer.pojo.User;

import java.sql.Connection;

import java.util.List;

/**
 * 作者:夏天
 * qq:1205232048
 */

public interface UserDao {
    /**
     * 根据连接 用户编码 返回用户
     * @param connection
     * @param userCode
     * @return
     * @throws Exception
     */
    public User getLoginUser(Connection connection,String userCode) throws Exception;

    /**
     * 根据连接 用户id 用户新密码 返回修改密码结果
     * @param connection
     * @param id
     * @param newpassword
     * @return
     * @throws Exception
     */
    public int modifyPasswordById(Connection connection,int id,String newpassword) throws Exception;

    /**
     * 根据连接 用户姓名 用户角色 返回用户数量
     * @param connection
     * @param userName
     * @param userRole
     * @return
     * @throws Exception
     */
    public int getUserCount(Connection connection,String userName,int userRole) throws Exception;

    /**
     * 根据连接 用户姓名 用户角色 当前页数 页面大小 返回用户列表
     * @param connection
     * @param userName
     * @param userRole
     * @param currentPageNo
     * @param pageSize
     * @return
     * @throws Exception
     */
    public List<User> getUserList(Connection connection, String userName, int userRole, int currentPageNo, int pageSize) throws Exception;

    /**
     * 根据连接 用户 返回添加结果
     * @param connection
     * @param user
     * @return
     * @throws Exception
     */
    public int addUser(Connection connection,User user) throws Exception;

    /**
     * 根据连接 用户Id 返回删除结果
     * @param connection
     * @param delId
     * @return
     * @throws Exception
     */
    public int deleteUserById(Connection connection, Integer delId) throws Exception;

    /**
     * 根据连接 用户Id 返回用户
     * @param connection
     * @param id
     * @return User
     * @throws Exception
     */
    public User getUserById(Connection connection, String id) throws Exception;

    /**
     * 根据连接 用户 返回用户修改结果
     * @param connection
     * @param user
     * @return int
     * @throws Exception
     */
    public int modifyUser(Connection connection, User user) throws Exception;


}
